<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Plugin Support</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="RhythmCat Music Player Development Reference Manual">
<link rel="up" href="ch01.html" title="Player Backend">
<link rel="prev" href="RhythmCat-Settings.html" title="Settings">
<link rel="next" href="RhythmCat-Debug.html" title="Debug">
<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="RhythmCat-Settings.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">RhythmCat Music Player Development Reference Manual</th>
<td><a accesskey="n" href="RhythmCat-Debug.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#RhythmCat-Plugin-Support.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#RhythmCat-Plugin-Support.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="Plugin Support">
<a name="RhythmCat-Plugin-Support"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="RhythmCat-Plugin-Support.top_of_page"></a>Plugin Support</span></h2>
<p>Plugin Support — Plugin support of the player.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="RhythmCat-Plugin-Support.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;plugin.h&gt;

#define             <a class="link" href="RhythmCat-Plugin-Support.html#RC-PLUGIN-MAGIC-NUMBER:CAPS" title="RC_PLUGIN_MAGIC_NUMBER">RC_PLUGIN_MAGIC_NUMBER</a>
#define             <a class="link" href="RhythmCat-Plugin-Support.html#RC-PLUGIN-OLD-MAGIC-NUMBER:CAPS" title="RC_PLUGIN_OLD_MAGIC_NUMBER">RC_PLUGIN_OLD_MAGIC_NUMBER</a>
enum                <a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType">RCPluginType</a>;
                    <a class="link" href="RhythmCat-Plugin-Support.html#RCPluginConfData" title="RCPluginConfData">RCPluginConfData</a>;
                    <a class="link" href="RhythmCat-Plugin-Support.html#RCPluginModuleData" title="RCPluginModuleData">RCPluginModuleData</a>;
<span class="returnvalue">void</span>                <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-init" title="rc_plugin_init ()">rc_plugin_init</a>                      ();
<span class="returnvalue">void</span>                <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-exit" title="rc_plugin_exit ()">rc_plugin_exit</a>                      ();
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-search-dir" title="rc_plugin_search_dir ()">rc_plugin_search_dir</a>                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *dirname</code></em>);
const <a href="/usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *      <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-get-list" title="rc_plugin_get_list ()">rc_plugin_get_list</a>                  ();
<span class="returnvalue">void</span>                <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-list-free" title="rc_plugin_list_free ()">rc_plugin_list_free</a>                 ();
<span class="returnvalue">void</span>                <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-conf-free" title="rc_plugin_conf_free ()">rc_plugin_conf_free</a>                 (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginConfData" title="RCPluginConfData"><span class="type">RCPluginConfData</span></a> *plugin_data</code></em>);
<a class="link" href="RhythmCat-Plugin-Support.html#RCPluginConfData" title="RCPluginConfData"><span class="returnvalue">RCPluginConfData</span></a> *  <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-conf-load" title="rc_plugin_conf_load ()">rc_plugin_conf_load</a>                 (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-load" title="rc_plugin_load ()">rc_plugin_load</a>                      (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-configure" title="rc_plugin_configure ()">rc_plugin_configure</a>                 (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-close" title="rc_plugin_close ()">rc_plugin_close</a>                     (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-check-running" title="rc_plugin_check_running ()">rc_plugin_check_running</a>             (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);
<a href="/usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-check-exist" title="rc_plugin_check_exist ()">rc_plugin_check_exist</a>               (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="RhythmCat-Plugin-Support.html#rc-plugin-get-path" title="rc_plugin_get_path ()">rc_plugin_get_path</a>                  (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *group_name</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<a name="RhythmCat-Plugin-Support.description"></a><h2>Description</h2>
<p>
Plugin support of the player. It supports module type (usually it is
a dynamic link library) plugin.
</p>
</div>
<div class="refsect1" title="Details">
<a name="RhythmCat-Plugin-Support.details"></a><h2>Details</h2>
<div class="refsect2" title="RC_PLUGIN_MAGIC_NUMBER">
<a name="RC-PLUGIN-MAGIC-NUMBER:CAPS"></a><h3>RC_PLUGIN_MAGIC_NUMBER</h3>
<pre class="programlisting">#define RC_PLUGIN_MAGIC_NUMBER 0x100B0916
</pre>
</div>
<hr>
<div class="refsect2" title="RC_PLUGIN_OLD_MAGIC_NUMBER">
<a name="RC-PLUGIN-OLD-MAGIC-NUMBER:CAPS"></a><h3>RC_PLUGIN_OLD_MAGIC_NUMBER</h3>
<pre class="programlisting">#define RC_PLUGIN_OLD_MAGIC_NUMBER 0x100B090B
</pre>
</div>
<hr>
<div class="refsect2" title="enum RCPluginType">
<a name="RCPluginType"></a><h3>enum RCPluginType</h3>
<pre class="programlisting">typedef enum RCPluginType {
    PLUGIN_TYPE_MODULE = 1
}RCPluginType;
</pre>
<p>
The enum type to show the type of the plugin.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><a name="PLUGIN-TYPE-MODULE:CAPS"></a><span class="term"><code class="literal">PLUGIN_TYPE_MODULE</code></span></p></td>
<td>the plugin is a module
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="RCPluginConfData">
<a name="RCPluginConfData"></a><h3>RCPluginConfData</h3>
<pre class="programlisting">typedef struct {
    gchar *path;
    gchar *name;
    gchar *desc;
    gchar *author;
    gchar *version;
    gchar *website;
    RCPluginType type;
} RCPluginConfData;
</pre>
<p>
The plugin configuration data structure.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="RCPluginConfData.path"></a>path</code></em>;</span></p></td>
<td>the path of the plugin file
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="RCPluginConfData.name"></a>name</code></em>;</span></p></td>
<td>the name of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="RCPluginConfData.desc"></a>desc</code></em>;</span></p></td>
<td>the description of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="RCPluginConfData.author"></a>author</code></em>;</span></p></td>
<td>the author of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="RCPluginConfData.version"></a>version</code></em>;</span></p></td>
<td>the version of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="RCPluginConfData.website"></a>website</code></em>;</span></p></td>
<td>the website of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> <em class="structfield"><code><a name="RCPluginConfData.type"></a>type</code></em>;</span></p></td>
<td>the type of the plugin
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="RCPluginModuleData">
<a name="RCPluginModuleData"></a><h3>RCPluginModuleData</h3>
<pre class="programlisting">typedef struct {
    guint32 magic_number;
    gchar *group_name;
    gchar *path;
    gboolean resident;
    GQuark id;
    gboolean busy_flag;
} RCPluginModuleData;
</pre>
<p>
The data structure of module.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="RCPluginModuleData.magic-number"></a>magic_number</code></em>;</span></p></td>
<td>the magic number
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="RCPluginModuleData.group-name"></a>group_name</code></em>;</span></p></td>
<td>the group name used in plugin configure file
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="RCPluginModuleData.path"></a>path</code></em>;</span></p></td>
<td>the plugin path (can only be accessed when the plugin is running)
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="RCPluginModuleData.resident"></a>resident</code></em>;</span></p></td>
<td>whether the plugin can be removed while the player is running
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> <em class="structfield"><code><a name="RCPluginModuleData.id"></a>id</code></em>;</span></p></td>
<td>the unique ID when the plugin is running
</td>
</tr>
<tr>
<td><p><span class="term"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="RCPluginModuleData.busy-flag"></a>busy_flag</code></em>;</span></p></td>
<td>whether the plugin is busy (cannot be interruped)
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_init ()">
<a name="rc-plugin-init"></a><h3>rc_plugin_init ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                rc_plugin_init                      ();</pre>
<p>
Initialize the plugin support of the player. Can be used only once.
</p>
</div>
<hr>
<div class="refsect2" title="rc_plugin_exit ()">
<a name="rc-plugin-exit"></a><h3>rc_plugin_exit ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                rc_plugin_exit                      ();</pre>
<p>
Free and close all plugins when exits.
</p>
</div>
<hr>
<div class="refsect2" title="rc_plugin_search_dir ()">
<a name="rc-plugin-search-dir"></a><h3>rc_plugin_search_dir ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            rc_plugin_search_dir                (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *dirname</code></em>);</pre>
<p>
Search all plugins in a directory. And save them in a list.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dirname</code></em> :</span></p></td>
<td>the path of the directory
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Whether the directory has plugin.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_get_list ()">
<a name="rc-plugin-get-list"></a><h3>rc_plugin_get_list ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *      rc_plugin_get_list                  ();</pre>
<p>
Return all plugins in the plugin list found before.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The plugin list found before.
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_list_free ()">
<a name="rc-plugin-list-free"></a><h3>rc_plugin_list_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                rc_plugin_list_free                 ();</pre>
<p>
Free and clean the plugin list.
</p>
</div>
<hr>
<div class="refsect2" title="rc_plugin_conf_free ()">
<a name="rc-plugin-conf-free"></a><h3>rc_plugin_conf_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                rc_plugin_conf_free                 (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginConfData" title="RCPluginConfData"><span class="type">RCPluginConfData</span></a> *plugin_data</code></em>);</pre>
<p>
Free the plugin configure data.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>plugin_data</code></em> :</span></p></td>
<td>the plugin configure data
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_conf_load ()">
<a name="rc-plugin-conf-load"></a><h3>rc_plugin_conf_load ()</h3>
<pre class="programlisting"><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginConfData" title="RCPluginConfData"><span class="returnvalue">RCPluginConfData</span></a> *  rc_plugin_conf_load                 (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);</pre>
<p>
Open a configuration file.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>the configuration file to open
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The configuration data read from the file, NULL if error
   happens.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_load ()">
<a name="rc-plugin-load"></a><h3>rc_plugin_load ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            rc_plugin_load                      (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);</pre>
<p>
Open and run the plugin.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>the type of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>the path of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Whether the operation succeeds.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_configure ()">
<a name="rc-plugin-configure"></a><h3>rc_plugin_configure ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            rc_plugin_configure                 (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);</pre>
<p>
Open and configure the plugin.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>the type of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>the path of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Whether the operation succeeds.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_close ()">
<a name="rc-plugin-close"></a><h3>rc_plugin_close ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                rc_plugin_close                     (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);</pre>
<p>
Close the plugin.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>the type of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>the path of the plugin
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_check_running ()">
<a name="rc-plugin-check-running"></a><h3>rc_plugin_check_running ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            rc_plugin_check_running             (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *path</code></em>);</pre>
<p>
Check if the plugin is running.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>the type of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
<td>the path of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> Whether the plugin is running.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_check_exist ()">
<a name="rc-plugin-check-exist"></a><h3>rc_plugin_check_exist ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            rc_plugin_check_exist               (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
<p>
Check if the plugin configure data exists, if it is found, return
the configure data item, otherwise NULL.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>the type of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>the name of the plugin in configure file
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The plugin configure data item if the configure data exists,
NULL if not found.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="rc_plugin_get_path ()">
<a name="rc-plugin-get-path"></a><h3>rc_plugin_get_path ()</h3>
<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       rc_plugin_get_path                  (<em class="parameter"><code><a class="link" href="RhythmCat-Plugin-Support.html#RCPluginType" title="enum RCPluginType"><span class="type">RCPluginType</span></a> type</code></em>,
                                                         <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *group_name</code></em>);</pre>
<p>
Get the file path of the plugin by the given group name.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>the type of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>group_name</code></em> :</span></p></td>
<td>the group name of the plugin
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> The file path of the plugin, NULL if not found.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15</div>
</body>
</html>